package leetcode.leetcode141;

/**
 * @author czt
 * @version 1.0
 * @since 2024/12/18
 *
 * 环形链表
 */
public class Leetcode141 {

    public boolean hasCycle(ListNode head) {
        ListNode h = head; // 兔子
        ListNode t = head; // 乌龟
        // 兔子每次走两步，乌龟每次走一步，如果兔子和乌龟相遇，则说明有环
        while (h != null && h.next != null) {
            t = t.next;
            h = h.next.next;
            if (t == h) {
                return true;
            }
        }
        return false;
    }

}
